服务器知识

推荐列表 站点导航

当前位置:首页 > 服务器技术 > 服务器知识 >

docker-compose 详解及示例代码

来源:网络整理  作者:  发布时间:2020-12-22 23:39
这篇文章主要介绍了docker-compose 详解的相关资料,并附简单实例,需要的朋友可以参考下...

docker-compose使用示例

利用docker搭建一个mysql + java service + nginx,总共4个docker容器,如果采用docker run的方式一个一个容器去创建十分麻烦。为了能更高效的批量创建容器,docker推出了docker-compose工具,只需要定义一个docker-compose.yml文件即可快速搞定一组容器的创建,

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

 

mysql:

 image: daocloud.io/yjmyzz/mysql-osx:latest

 volumes:

   - ./mysql/db:/var/lib/mysql

 ports:

   - 3306:3306

 environment:

   - MYSQL_ROOT_PASSWORD=123456

 

service1:

 image: java:latest

 volumes:

   - ./java:/opt/app

 expose:

   - 8080

 #ports:

 #  - 9081:8080

 links:

   - mysql:default

 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar

 

service2:

 image: java:latest

 volumes:

   - ./java:/opt/app

 expose:

   - 8080

 #ports:

 #  - 9082:8080

 links:

   - mysql:default

 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar

 

nginx1:

  image: nginx:latest

  volumes:

   - ./nginx/html:/usr/share/nginx/html:ro

   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

   - ./nginx/conf.d:/etc/nginx/conf.d:ro

  #expose:

  #  - 80

  ports:

   - "80:80"

  links:

   - service1:service1

   - service2:service2

 

内容不复杂,具体的关键字说明见本文最后的参考文章链接。

问题:这个文件放在哪里?

参见下面的目录结构:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

 

mysql-java-nginx

├── docker-compose.yml

├── java

│  └── spring-boot-rest-framework-1.0.0.jar

├── mysql

│  └── db

└── nginx

  ├── conf

  ├── conf.d

  │  └── default.conf

  ├── html

  │  └── index.html

  └── nginx.conf

 

创建容器:

1

2

 

cd mysql-java-nginx

docker-compose up

 

就是这么简单,一个up就搞定了所有容器的创建,up通常用于首次创建,可以观察终端实时输出的日志内容判断容器是否启动正常,如果没什么问题,直接Ctrl+C退出,然后

docker-compose start

以后台方式启动容器。  

其它命令还有:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

 

Commands:

 build       Build or rebuild services

 help        Get help on a command

 kill        Kill containers

 logs        View output from containers

 pause       Pause services

 port        Print the public port for a port binding

 ps         List containers

 pull        Pulls service images

 restart      Restart services

 rm         Remove stopped containers

 run        Run a one-off command

 scale       Set number of containers for a service

 start       Start services

 stop        Stop services

 unpause      Unpause services

 up         Create and start containers

 migrate-to-labels Recreate containers to add labels

 version      Show the Docker-Compose version information

 

基本上看名字就知道意思了。  

参考文章:

https://docs.docker.com/compose/compose-file/

相关热词: 详解

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/other/7691.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

docker-compose 详解及示例代码

2020-12-22 编辑:

docker-compose使用示例

利用docker搭建一个mysql + java service + nginx,总共4个docker容器,如果采用docker run的方式一个一个容器去创建十分麻烦。为了能更高效的批量创建容器,docker推出了docker-compose工具,只需要定义一个docker-compose.yml文件即可快速搞定一组容器的创建,

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

 

mysql:

 image: daocloud.io/yjmyzz/mysql-osx:latest

 volumes:

   - ./mysql/db:/var/lib/mysql

 ports:

   - 3306:3306

 environment:

   - MYSQL_ROOT_PASSWORD=123456

 

service1:

 image: java:latest

 volumes:

   - ./java:/opt/app

 expose:

   - 8080

 #ports:

 #  - 9081:8080

 links:

   - mysql:default

 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar

 

service2:

 image: java:latest

 volumes:

   - ./java:/opt/app

 expose:

   - 8080

 #ports:

 #  - 9082:8080

 links:

   - mysql:default

 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar

 

nginx1:

  image: nginx:latest

  volumes:

   - ./nginx/html:/usr/share/nginx/html:ro

   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

   - ./nginx/conf.d:/etc/nginx/conf.d:ro

  #expose:

  #  - 80

  ports:

   - "80:80"

  links:

   - service1:service1

   - service2:service2

 

内容不复杂,具体的关键字说明见本文最后的参考文章链接。

问题:这个文件放在哪里?

参见下面的目录结构:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

 

mysql-java-nginx

├── docker-compose.yml

├── java

│  └── spring-boot-rest-framework-1.0.0.jar

├── mysql

│  └── db

└── nginx

  ├── conf

  ├── conf.d

  │  └── default.conf

  ├── html

  │  └── index.html

  └── nginx.conf

 

创建容器:

1

2

 

cd mysql-java-nginx

docker-compose up

 

就是这么简单,一个up就搞定了所有容器的创建,up通常用于首次创建,可以观察终端实时输出的日志内容判断容器是否启动正常,如果没什么问题,直接Ctrl+C退出,然后

docker-compose start

以后台方式启动容器。  

其它命令还有:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

 

Commands:

 build       Build or rebuild services

 help        Get help on a command

 kill        Kill containers

 logs        View output from containers

 pause       Pause services

 port        Print the public port for a port binding

 ps         List containers

 pull        Pulls service images

 restart      Restart services

 rm         Remove stopped containers

 run        Run a one-off command

 scale       Set number of containers for a service

 start       Start services

 stop        Stop services

 unpause      Unpause services

 up         Create and start containers

 migrate-to-labels Recreate containers to add labels

 version      Show the Docker-Compose version information

 

基本上看名字就知道意思了。  

参考文章:

https://docs.docker.com/compose/compose-file/

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/other/7691.shtml

相关文章

风云图片

推荐阅读

返回服务器知识频道首页